package com.service.infoEntry.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

@Data
public class ExportTransactionInfoDto {
    /**
     * 事务单号
     */
    @ExcelProperty("事务单号")
    private String no;
    /**
     * 事务描述
     */
    @ExcelProperty("事务描述")
    private String desc;
    /**
     * 事务项目说明
     */
    @ExcelProperty("事务项目说明")
    private String programmeDesc;
    /**
     * 重要性:高(不解决无法使用) 中(暂时可通过规避方案使用) 低(待规划讨论)
     */
    @ExcelProperty("重要性")
    private String importance;
    /**
     * 来源活动
     */
    @ExcelProperty("来源活动")
    private String sourceActivity;
    /**
     * 定位人员
     */
    @ExcelProperty("定位人员")
    private String positionUser;
    /**
     * 事务联系人
     */
    @ExcelProperty("事务联系人")
    private String contact;
    @ExcelProperty("所属项目名称")
    private String programmeName;
    @ExcelProperty("所属项目编号")
    private String programmeId;

    @ExcelIgnore
    private Integer status;
    /**
     * 事务状态:0-发现;1-定位;2-现网带缺陷闭环;3-挂起;4-正式闭环
     */
    @ExcelProperty("事务状态")
    private String statusStr;
    /**
     * 事务状态:0-公开;1-私密
     */
    @ExcelIgnore
    private String transactionStatus;

    /**
     * 1公开;0私密
     */
    @ExcelProperty("是否公开")
    private String transactionStatusStr;

    /**
     * 紧急程度:1-紧急;0-不紧急;默认不紧急
     */
    @ExcelIgnore
    private Integer isUrgency;
    @ExcelProperty("事务/问题是否紧急")
    private String isUrgencyStr;

    /**
     * 事务分类:需求，问题，事务(必选无默认)
     */
    @ExcelProperty("事务/问题分类")
    private String type;
    /**
     * 客户名称
     */
    @ExcelProperty("客户名称")
    private String clientName;
    /**
     * 涉及的华为乾坤云服务
     */
    @ExcelProperty("涉及的华为乾坤云服务")
    private String serviceInvolved;
    /**
     * 事务来源（加提示:(ECARE,微信，电话，华为工单)）
     */
    @ExcelProperty("事务来源")
    private String origin;
    /**
     * 其他系统对接编号
     */
    @ExcelProperty("其他系统对接编号")
    private String otherSystemNo;
    /**
     * 事务进展
     */
    @ExcelProperty("事务进展")
    private String process;
    /**
     * 事务结论:0-待定位;1-需求;2-问题
     */
    @ExcelIgnore
    private Integer conclusion;

    @ExcelProperty("事务结论")
    private String conclusionStr;
    /**
     * 其余跟踪单号(如RM单号)
     */
    @ExcelProperty("其余跟踪单号")
    private String otherTrackingNo;
    /**
     * 提出事务的用户id
     */
    @ExcelProperty("创建人")
    private String user;
    /**
     * 所属团队id
     */
    @ExcelProperty("所属团队")
    private String teamName;
    /**
     * 事务/问题创建时间
     */
    @ExcelProperty("事务/问题创建时间")
    private String createTime;
    /**
     * 定位时长
     */
    @ExcelProperty("定位时长")
    private String positionTime;

    public String getTransactionStatusStr() {
        if(null != transactionStatus && !"".equals(transactionStatus))
        {
            switch (transactionStatus)
            {
                case "0":
                    transactionStatusStr = "私密";
                    break;
                case "1":
                    transactionStatusStr = "公开";
                    break;
                default:
                    break;
            }
        }
        return transactionStatusStr;
    }

//    事务结论:0-待定位;1-需求;2-问题
    public String getConclusionStr()
    {
        if(null!= conclusion && !"".equals(conclusion))
        {
            switch (conclusion)
            {
                case 0:
                    conclusionStr = "待定位";
                    break;
                case 1:
                    conclusionStr = "需求";
                    break;
                case 2:
                    conclusionStr = "事务";
                    break;
                default:
                    break;
            }
        }
        return conclusionStr;
    }

    public String getStatusStr() {
        if(null!=status)
        {
            switch (status)
            {
                case 0:
                    statusStr = "发现";
                    break;
                case 1:
                    statusStr = "定位";
                    break;
                case 2:
                    statusStr = "现网带缺陷闭环";
                    break;
                case 3:
                    statusStr = "挂起";
                    break;
                case 4:
                    statusStr = "正式闭环";
                    break;
                default:
                    break;
            }
        }
        return statusStr;
    }

    public String getIsUrgencyStr() {
        if(null==isUrgency || 0==isUrgency)
        {
            return "不紧急";
        }else {
            return "紧急";
        }
    }
}
